package tech.aistar.design.proxy.demo1;

/**
 * 本类用来演示: 代理类
 *
 * @author: success
 * @date: 2022/8/4 3:00 下午
 */
public class UserDaoImplProxy implements UserDao{

    private UserDao userDao;

    public UserDaoImplProxy(UserDao userDao){
        this.userDao = userDao;
    }

    @Override
    public int add(int i, int j) {

        //增强的其他的功能
        System.out.println("log-before");

        //核心的业务
        int result = userDao.add(i,j);//目标对象的核心功能

        System.out.println("log-after");

        return result;
    }

    @Override
    public int sub(int i, int j) {
        //增强的其他的功能
        System.out.println("log-before");

        //核心的业务
        int result = userDao.sub(i,j);//目标对象的核心功能

        System.out.println("log-after");
        return result;
    }
}
